﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class НастройкаПравДоступаПереопределяемый
	{
		/////////////////////////////////////////////////////////////////////////////////////
		// ОБЩИЕ ПРОЦЕДУРЫ И ФУНКЦИИ ОБСЛУЖИВАНИЯ МЕХАНИЗМА НАСТРОЙКИ ПРАВ ДОСТУПА
		// Проверка доступности роли расчетчика
		// это или РасчетчикРегламентированнойЗарплаты или полные права
		// Применяется для проверки прав на доступ к расчетным регистрам, например,
		// в формах и при выводе на печать
		// Возвращаемое значение:
		//	булево - истина если есть доступ к "расчетным" данным

		public object ДоступнаРольРасчетчикаРегл(/**/)
		{
			return null;
		}
		//ДоступнаРольРасчетчика
		// Проверка доступности роли кадровика
		// это или КадровикРегламентированныхДанных или полные права
		// Применяется для проверки прав на доступ к расчетным регистрам, например,
		// в формах и при выводе на печать
		// Возвращаемое значение:
		//	булево - истина если есть доступ к "расчетным" данным

		public object ДоступнаРольКадровикаРегл(/**/)
		{
			return null;
		}
		//ДоступнаРольКадровикаРегл
		// Проверка доступности роли менеджера по набору персонала
		// это или МенеджерПоНаборуПерсонала или полные права
		// Применяется для проверки прав на доступ к соотв. даннам
		// Возвращаемое значение:
		//	булево - истина если есть доступ

		public object ДоступнаРольМенеджераПоНабору(/**/)
		{
			return null;
		}
		// ДоступнаРольМенеджераПоНабору
		//

		public object ПолучитьВидОбъектаДоступа(/*ОбъектДоступа*/)
		{
			if(true/*ТипЗнч(ОбъектДоступа) = Тип("СправочникСсылка.Организации")*/)
			{
			}
			return null;
		}
		// Функция создает структуру объектов доступа
		//
		// Параметры
		//
		// Возвращаемое значение:
		//   Структура   - Ключ: строка, Значение: описание объекта доступа типа ссылка
		//

		public object ПолучитьСтруктуруТипыОбъектовДоступа(/**/)
		{
			//ТипыОбъектовДоступа = Новый Структура;
			//ТипыОбъектовДоступа.Вставить("Организации",					Тип("СправочникСсылка.Организации"));
			//ТипыОбъектовДоступа.Вставить("ФизическиеЛица",				Тип("СправочникСсылка.ГруппыДоступаФизическихЛиц"));
			//ТипыОбъектовДоступа.Вставить("ЗаявкиКандидатов",			Тип("СправочникСсылка.ГруппыЗаявокКандидатов"));
			//ТипыОбъектовДоступа.Вставить("ВнешниеОбработки",			Тип("СправочникСсылка.ВнешниеОбработки"));
			//ИспользоватьУправленческийУчетЗарплаты = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты");
			if(true/*ИспользоватьУправленческийУчетЗарплаты*/)
			{
				//ТипыОбъектовДоступа.Вставить("Подразделения",				Тип("СправочникСсылка.Подразделения"));
			}
			//ТипыОбъектовДоступа.Вставить("ПодразделенияОрганизаций",	Тип("СправочникСсылка.ПодразделенияОрганизаций"));
			return null;
		}
		// ПолучитьСтруктуруТипыОбъектовДоступа()
		// Функция определяет список областей данных,
		// которые соответствуют переданному типу данных
		//
		// Параметры
		//  ТИпДанных - Тип, Анализируемый тип
		//
		// Возвращаемое значение:
		//   СписокЗначений
		//

		public object ПолучитьСписокОбластейДанных(/*ТипДанных*/)
		{
			//СписокОбластей = Новый СписокЗначений;
			if(true/*ТипДанных = Тип("СправочникСсылка.Организации")*/)
			{
				//СписокОбластей.Добавить(Перечисления.ВидыОбъектовДоступа.Организации);
			}
			//НастройкаПравДоступаДополнительный.ДополнитьСписокОбластейДанных(СписокОбластей, ТипДанных);
			return null;
		}
		// ПолучитьСписокОбластейДанных()
		// Функция возвращает значение из соответствия по переданному ключу
		//
		// Параметры
		//  СоответствиеОбластейДанных  - Соответствие из которого получается значение
		//  Запись  - запись набора записей НастройкиПравДоступаПользователей, реквизит записи является ключем
		//
		// Возвращаемое значение:
		//   Строка   - значение соответсвия, полученное по ключу
		//

		public object ПолучитьЗначениеИзСоответствияОбластейДанных(/*СоответствиеОбластейДанных, Запись*/)
		{
			return null;
		}
		// ПолучитьЗначениеИзСоответствияОбластейДанных()
		// Процедура заполняет реквизиты новой записи Регистра сведений НастройкиПравДоступаПользователей
		// по переданным данным ЭлементОбластиДанных
		//
		// Параметры
		//  НоваяЗапись  		 - запись набора записей регистра сведений НастройкиПравДоступаПользователей
		//  СтрокаТаблицы  		 - строка табличной части ТаблицаПравДоступа обработки НастройкаПравДоступа
		//  ЭлементОбластиДанных - значение из соответсвия СоответствиеОбластейДанных обработки НастройкаПравДоступа
		//  Индекс				 - порядковый номер значения ЭлементОбластиДанных из соответсвия СоответствиеОбластейДанных обработки НастройкаПравДоступа
		//

		public void ЗаполнитьСтрокуПраваДоступаПользователей(/*НоваяЗапись, СтрокаТаблицы, ЭлементОбластиДанных, Индекс*/)
		{
			//НоваяЗапись.ОбъектДоступа       = СтрокаТаблицы.ОбъектДоступа;
			//НоваяЗапись.ВладелецПравДоступа = СтрокаТаблицы.ВладелецПравДоступа;
			//НоваяЗапись.ОбластьДанных       = ?(ТипЗнч(ЭлементОбластиДанных.Значение) = Тип("ПеречислениеСсылка.ОбластиДанныхОбъектовДоступа"), ЭлементОбластиДанных.Значение, Перечисления.ОбластиДанныхОбъектовДоступа.ПустаяСсылка());
			//НоваяЗапись.Пользователь        = СтрокаТаблицы.Пользователь;
			//НоваяЗапись.Запись              = СтрокаТаблицы["Запись_" + Индекс];
			//НоваяЗапись.ВидНаследованияПравДоступаИерархическихСправочников = СтрокаТаблицы.ВидНаследованияПравДоступаИерархическихСправочников;
		}

		public void ДополнитьСоставСтраницФормыОбработки(/*ЭтаФорма, НазначаемыеДействия*/)
		{
			/*// уточним таблицу настройки доступа по физлицам
*/
			//ЭтаФорма.ЭлементыФормы.ТаблицаПравДоступа_ФизическиеЛица.Колонки.Чтение_1.ТолькоПросмотр = Ложь;
			//ЭтаФорма.ЭлементыФормы.ТаблицаПравДоступа_ФизическиеЛица.Колонки.Чтение_1.ТекстШапки = "Видимость в списке";
			//ЭтаФорма.ЭлементыФормы.ТаблицаПравДоступа_ФизическиеЛица.Колонки.Запись_1.Видимость = Ложь;
			//КолонкиТабличногоПоля = ЭтаФорма.ЭлементыФормы.ТаблицаПравДоступа_ФизическиеЛица.Колонки;
			//КолонкаЧтение = КолонкиТабличногоПоля.Добавить("Чтение_2", "Просмотр данных в форме");
			//КолонкаЧтение.Имя				= "Чтение_2";
			//КолонкаЧтение.ДанныеФлажка		= "Чтение_2";
			//КолонкаЧтение.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
			//КолонкаЧтение.Ширина = 7;
			//КолонкаЗапись = КолонкиТабличногоПоля.Добавить("Запись_2", "Редактирование данных");
			//КолонкаЗапись.Имя				= "Запись_2";
			//КолонкаЗапись.ДанныеФлажка		= "Запись_2";
			//КолонкаЗапись.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
			//КолонкаЗапись.Ширина = 7;
			/*//назначение обработчиков
*/
			//НастройкаПравДоступаДополнительный.ДополнитьСоставЭлементовФормы(ЭтаФорма, НазначаемыеДействия);
			//ИспользоватьУправленческийУчетЗарплаты = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты");
			if(true/*НЕ ИспользоватьУправленческийУчетЗарплаты*/)
			{
			}
			//ЭлементыФормы			= ЭтаФорма.ЭлементыФормы;
			//ПанельОбластейДанных	= ЭлементыФормы.ПанельОбластейДанных;
			//Страницы 				= ПанельОбластейДанных.Страницы;
			/*//добавление страницы
*/
			//СтраницаПодразделения = Страницы.Вставить(Страницы.Индекс(Страницы.Найти("ПодразделенияОрганизаций")), "Подразделения", "Подразделения");
			//ПанельОбластейДанных.ТекущаяСтраница = СтраницаПодразделения;
			/*//добавление табличного поля
*/
			//ТаблицаПравДоступа_Подразделения	= ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), "ТаблицаПравДоступа_Подразделения", Истина, ПанельОбластейДанных);
			//ТаблицаПравДоступа_Подразделения.Данные = "ТаблицаПравДоступа";
			//ТаблицаПравДоступа_Подразделения.СоздатьКолонки();
			/*//расположение табличного поля
*/
			//ТаблицаПравДоступа_Подразделения.Лево	= 6;
			//ТаблицаПравДоступа_Подразделения.Верх	= 53;
			//ТаблицаПравДоступа_Подразделения.Ширина	= 726;
			//ТаблицаПравДоступа_Подразделения.Высота	= 280;
			/*//удаление неиспользуемых в табличном поле колонок "Запись_.." и "Чтение_.."
*/
			//НомерКолонки = 0;
			//КолонкиТабличногоПоля = ТаблицаПравДоступа_Подразделения.Колонки;
			//КолонкиТабличногоПоля.Удалить(КолонкиТабличногоПоля["НомерСтроки"]);
			//КолонкиТабличногоПоля.Удалить(КолонкиТабличногоПоля["ТипОбъектаДоступа"]);
			while(true/*НомерКолонки < КолонкиТабличногоПоля.Количество()*/)
			{
				if(true/*Найти(КолонкиТабличногоПоля[НомерКолонки].Имя, "Чтение") > 0 
		 ИЛИ Найти(КолонкиТабличногоПоля[НомерКолонки].Имя, "Запись") > 0*/)
				{
					//КолонкиТабличногоПоля.Удалить(НомерКолонки);
				}
			}
			/*//добавление колонки "Картинка"
*/
			//КолонкаКартинка = КолонкиТабличногоПоля.Вставить(0, "");
			//КолонкаКартинка.Имя	= "Картинка";
			//КолонкаКартинка.КартинкиСтрок = БиблиотекаКартинок.РегистрСведенийЗапись;
			//КолонкаКартинка.Ширина = 2;
			/*//добавление колонок Чтение и Запись
*/
			//КолонкаЧтение = КолонкиТабличногоПоля.Добавить("Чтение", "Чтение");
			//КолонкаЧтение.Имя				= "Чтение_1";
			//КолонкаЧтение.ДанныеФлажка		= "Чтение_1";
			//КолонкаЧтение.ТолькоПросмотр	= Истина;
			//КолонкаЗапись = КолонкиТабличногоПоля.Добавить("Запись", "Запись");
			//КолонкаЗапись.Имя				= "Запись_1";
			//КолонкаЗапись.ДанныеФлажка		= "Запись_1";
			//КолонкаЗапись.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
			/*//прочие параметры табличного поля
*/
			//КолонкиТабличногоПоля["ВладелецПравДоступа"].Видимость = Ложь;
			//ТаблицаПравДоступа_Подразделения.ТолькоПросмотр = Ложь;
			/*//назначение обработчиков
*/
			/*//установка привязок
*/
			//ТаблицаПравДоступа_Подразделения.УстановитьПривязку(ГраницаЭлементаУправления.Право, ПанельОбластейДанных, ГраницаЭлементаУправления.Право);
			//ТаблицаПравДоступа_Подразделения.УстановитьПривязку(ГраницаЭлементаУправления.Низ, ПанельОбластейДанных, ГраницаЭлементаУправления.Низ);
			/*// добавление надписей с картинками
*/
			/*// КартинкаИнфо
*/
			//КартинкаИнфо = ЭлементыФормы.Добавить(Тип("ПолеКартинки"), "_Картинка_Инфо", Истина, ПанельОбластейДанных);
			//КартинкаИнфо.Лево	= 6;
			//КартинкаИнфо.Верх	= 6;
			//КартинкаИнфо.Ширина	= 21;
			//КартинкаИнфо.Высота	= 17;
			//КартинкаИнфо.Картинка = БиблиотекаКартинок.СообщениеИнформация;
			/*// Информационная надпись
*/
			//НадписьИнфо = ЭлементыФормы.Добавить(Тип("Надпись"), "_Надпись_Инфо", Истина, ПанельОбластейДанных);
			//НадписьИнфо.Лево	= 33;
			//НадписьИнфо.Верх	= 6;
			//НадписьИнфо.Ширина	= 380;
			//НадписьИнфо.Высота	= 40;
			//НадписьИнфо.Заголовок = "Подразделения компании, по которым пользователю доступна информация о вакансиях и кандидатах.";
			//НадписьИнфо.ВертикальноеПоложение = ВертикальноеПоложение.Верх;
			//НадписьИнфо.УстановитьПривязку(ГраницаЭлементаУправления.Право, ПанельОбластейДанных, ГраницаЭлементаУправления.Право);
			/*// КартинкаВнимание
*/
			//КартинкаВнимание = ЭлементыФормы.Добавить(Тип("ПолеКартинки"), "_Картинка_Внимание", Истина, ПанельОбластейДанных);
			//КартинкаВнимание.Лево	= 437;
			//КартинкаВнимание.Верх	= 6;
			//КартинкаВнимание.Ширина	= 21;
			//КартинкаВнимание.Высота	= 17;
			//КартинкаВнимание.Картинка = БиблиотекаКартинок.СообщениеОПроблемах;
			//КартинкаВнимание.УстановитьПривязку(ГраницаЭлементаУправления.Лево, ПанельОбластейДанных, ГраницаЭлементаУправления.Право);
			//КартинкаВнимание.УстановитьПривязку(ГраницаЭлементаУправления.Право, КартинкаВнимание, ГраницаЭлементаУправления.Лево);
			/*// Важная информационная надпись
*/
			//НадписьВнимание = ЭлементыФормы.Добавить(Тип("Надпись"), "_Надпись_Внимание", Истина, ПанельОбластейДанных);
			//НадписьВнимание.Лево	= 463;
			//НадписьВнимание.Верх	= 6;
			//НадписьВнимание.Ширина	= 269;
			//НадписьВнимание.Высота	= 40;
			//НадписьВнимание.Заголовок = "Доступ к кадровым данным, персональным данным сотрудников и данным о начислении зарплаты не разграничивается по подразделениям!";
			//НадписьВнимание.УстановитьПривязку(ГраницаЭлементаУправления.Лево, ПанельОбластейДанных, ГраницаЭлементаУправления.Право);
			//НадписьВнимание.УстановитьПривязку(ГраницаЭлементаУправления.Право, НадписьВнимание, ГраницаЭлементаУправления.Лево);
			//ПанельОбластейДанных.ТекущаяСтраница = ПанельОбластейДанных.Страницы[0];
		}
		/////////////////////////////////////////////////////////////////////////////////////
		// ОБЩИЕ ПРОЦЕДУРЫ И ФУНКЦИИ ОБСЛУЖИВАНИЯ МЕХАНИЗМА ДАТЫ ЗАПРЕТА РЕДАКТИРОВАНИЯ

		public object ПолучитьДатуПроверкиПоТипуДокумента(/*ДокументОбъект, ПараметрыПроверкиДокумента*/)
		{
			if(true/*ПараметрыПроверкиДокумента.МетаданныеДокумента = Метаданные.Документы.ЗарплатаКВыплатеОрганизаций*/)
			{
			}
			return null;
		}
		// Процедура проверки версии документа на нарушение даты запрета
		//

		public void ПроверитьВерсиюДокумента(/*ДокументОбъект, ПараметрыПроверкиДокумента, СоответствиеГраницЗапрета, Отказ, РежимЗаписи = Неопределено*/)
		{
			if(true/*ПараметрыПроверкиДокумента.ПроверятьПроведениеДокумента*/)
			{
				//ДокументПроведен = ДокументОбъект.Проведен ИЛИ ?(РежимЗаписи = Неопределено, ЛОЖЬ, РежимЗаписи = РежимЗаписиДокумента.Проведение);
				if(true/*Не ДокументПроведен*/)
				{
				}
			}
			/*// Не выполняется проверка дат запрета редактирования
*/
			if(true/*НЕ ПараметрыПроверкиДокумента.ПроверятьУправленческуюДатуЗапрета и
		НЕ ПараметрыПроверкиДокумента.ПроверятьРегламентированнуюДатуЗапрета*/)
			{
			}
			//ДатаДляПроверки = НастройкаПравДоступа.ПолучитьДатуДляПроверкиДокумента(ДокументОбъект, ПараметрыПроверкиДокумента);
			/*// Проверка регламентированной даты запрета
*/
			if(true/*ПараметрыПроверкиДокумента.ПроверятьРегламентированнуюДатуЗапрета*/)
			{
				//ГраницаПоОрганизации = СоответствиеГраницЗапрета[ДокументОбъект.Организация];
				/*// Если регламентированная дата запрета для регламентного документа не определена
*/
				/*// то используется общая дата запрета изменения данных
*/
				if(true/*ГраницаПоОрганизации = Неопределено*/)
				{
					//ГраницаПоОрганизации = СоответствиеГраницЗапрета["ОбщаяДатаЗапретаРедактирования"];
				}
				if(true/*НЕ ГраницаПоОрганизации = Неопределено 
			И ДатаДляПроверки <= КонецДня(ГраницаПоОрганизации)*/)
				{
					//Отказ = Истина;
				}
			}
			/*// Проверка управленческой даты запрета
*/
			if(true/*ПараметрыПроверкиДокумента.ПроверятьУправленческуюДатуЗапрета*/)
			{
				//ГраницаПериода = СоответствиеГраницЗапрета[Справочники.Организации.ПустаяСсылка()];
				/*// Если управленческая дата запрета для управленческого документа не определена
*/
				/*// то используется общая дата запрета изменения данных
*/
				if(true/*ГраницаПоОрганизации = Неопределено*/)
				{
					//ГраницаПоОрганизации = СоответствиеГраницЗапрета["ОбщаяДатаЗапретаРедактирования"];
				}
				if(true/*ГраницаПериода <> Неопределено*/)
				{
					if(true/*ДатаДляПроверки <= КонецДня(ГраницаПериода)*/)
					{
						//Отказ = Истина;
					}
				}
			}
		}
		// ПроверитьВерсиюДокумента()
		// Функция возвращает из БД версию документа до его изменения
		//

		public object ПолучитьВерсиюДокументаПередИзменением(/*ДокументОбъект, ПараметрыПроверкиДокумента*/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст = "
	|ВЫБРАТЬ 
	|Дата" 
	+ ?(ПараметрыПроверкиДокумента.ЕстьОрганизация, "," + Символы.ПС + "Организация КАК Организация", "")
	+ ?(ПараметрыПроверкиДокумента.ЕстьУправленческийУчет, "," + Символы.ПС + "ОтражатьВУправленческомУчете КАК ОтражатьВУправленческомУчете", "")
	+ ?(ПараметрыПроверкиДокумента.ЕстьБухгалтерскийУчет, "," + Символы.ПС + "ОтражатьВБухгалтерскомУчете КАК ОтражатьВБухгалтерскомУчете", "")
	+ ?(ПараметрыПроверкиДокумента.Свойство("ИмяПоляПериодаРегистрации"), "," + Символы.ПС + ПараметрыПроверкиДокумента.ИмяПоляПериодаРегистрации + " КАК " + ПараметрыПроверкиДокумента.ИмяПоляПериодаРегистрации, "")
	+ ?(ПараметрыПроверкиДокумента.ПроверятьПроведениеДокумента, "," + Символы.ПС + "Проведен КАК Проведен", "");*/
			//ДополнитьТекстЗапросаПоТипуДокумета(Запрос.Текст, ПараметрыПроверкиДокумента);
			/*Запрос.Текст = Запрос.Текст + "
	|ИЗ Документ." + ПараметрыПроверкиДокумента.МетаданныеДокумента.Имя + "
	|ГДЕ Ссылка = &Ссылка";*/
			//Запрос.УстановитьПараметр("Ссылка", ДокументОбъект.Ссылка);
			//Выборка = Запрос.Выполнить().Выбрать();
			//Выборка.Следующий();
			return null;
		}
		// ПолучитьВерсиюДокументаПередИзменением()

		public void ДополнитьТекстЗапросаПоТипуДокумета(/*ТекстЗапроса, ПараметрыПроверкиДокумента*/)
		{
			if(true/*ПараметрыПроверкиДокумента.МетаданныеДокумента = Метаданные.Документы.ВводПроцентаДеятельностиЕНВД*/)
			{
				/*ТекстЗапроса = ТекстЗапроса + ",
			|ВводДанныхПоПериодам КАК ВводДанныхПоПериодам,
			|РаботникиОрганизации.(МесяцРегистрации) КАК РаботникиОрганизации";*/
			}
		}

		public void ОпределитьНеобходимостьПроверкиПоПериодуРегистрации(/*ПараметрыПроверкиДокумента, МетаданныеДокумента*/)
		{
			if(true/*МетаданныеДокумента.Реквизиты.Найти("ПериодРегистрации") <> Неопределено*/)
			{
				//ПараметрыПроверкиДокумента.Вставить("ИмяПоляПериодаРегистрации", "ПериодРегистрации");
			}
			//ИмяПоляПериодРегистрацииДокуметнов = Новый Соответствие;
			//ИмяПоляПериодРегистрацииДокуметнов.Вставить(Метаданные.Документы.ВводПроцентаДеятельностиЕНВД,								"Период");
			//ИмяПоляПериодРегистрацииДокуметнов.Вставить(Метаданные.Документы.ВводРаспределенияОсновногоЗаработкаРаботниковОрганизации,	"Период");
			//АльтернативноеИмяРеквизита = ИмяПоляПериодРегистрацииДокуметнов[МетаданныеДокумента];
			if(true/*АльтернативноеИмяРеквизита <> Неопределено*/)
			{
				//ПараметрыПроверкиДокумента.Вставить("ИмяПоляПериодаРегистрации", АльтернативноеИмяРеквизита);
			}
		}
		// Функция возвращает структуру с параметрами проверки документа по умолчанию
		//

		public object ПолучитьПараметрыПроверкиДокумента(/*ДокументОбъект*/)
		{
			//ПараметрыПроверкиДокумента = Новый Структура;
			//МетаданныеДокумента = ДокументОбъект.Метаданные();
			//ПараметрыПроверкиДокумента.Вставить("МетаданныеДокумента", МетаданныеДокумента);
			/*// если  в документе есть реквизит организация, дата запрета оперделяется с учетом организации
*/
			//ПараметрыПроверкиДокумента.Вставить("ЕстьОрганизация", 			(МетаданныеДокумента.Реквизиты.Найти("Организация") <> Неопределено));
			//ПараметрыПроверкиДокумента.Вставить("ЕстьУправленческийУчет",	(МетаданныеДокумента.Реквизиты.Найти("ОтражатьВУправленческомУчете") <> Неопределено));
			//ПараметрыПроверкиДокумента.Вставить("ЕстьБухгалтерскийУчет", 	(МетаданныеДокумента.Реквизиты.Найти("ОтражатьВБухгалтерскомУчете") <> Неопределено));
			/*// если в документ 
*/
			//ОпределитьНеобходимостьПроверкиПоПериодуРегистрации(ПараметрыПроверкиДокумента, МетаданныеДокумента);
			/*// Если для документа проведение запрещено, проверка на дату запрета редактирования
*/
			/*//проверяется без учета проведенности
*/
			//ПараметрыПроверкиДокумента.Вставить("ПроверятьПроведениеДокумента", (МетаданныеДокумента.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить));
			if(true/*НастройкаПравДоступа.ЗаполнитьПараметрыПроверкиПоВидуДокумента(ДокументОбъект, ПараметрыПроверкиДокумента)*/)
			{
			}
			//ПроверятьУправленческуюДатуЗапрета      = (НЕ ПараметрыПроверкиДокумента.ЕстьОрганизация) или (ПараметрыПроверкиДокумента.ЕстьУправленческийУчет и ДокументОбъект["ОтражатьВУправленческомУчете"]);
			//ПроверятьРегламентированнуюДатуЗапрета  = ПараметрыПроверкиДокумента.ЕстьОрганизация и (Не ПараметрыПроверкиДокумента.ЕстьБухгалтерскийУчет или ДокументОбъект["ОтражатьВБухгалтерскомУчете"]);
			//ПараметрыПроверкиДокумента.Вставить("ПроверятьУправленческуюДатуЗапрета", 		ПроверятьУправленческуюДатуЗапрета);
			//ПараметрыПроверкиДокумента.Вставить("ПроверятьРегламентированнуюДатуЗапрета", 	ПроверятьРегламентированнуюДатуЗапрета);
			return null;
		}
		// ПолучитьПараметрыПроверкиДокумента()

		public object ПолучитьИмяПоляПериодаДляРегистра(/*ВидРегистра, РегистрМетаданные*/)
		{
			//ПолеПериод = "Период";
			if(true/*ВидРегистра = "РегистрРасчета"*/)
			{
				//ПолеПериод = "ПериодРегистрации";
			}
			return null;
		}
		/////////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ  - ОБРАБОТЧИКИ ПОДПИСОК НА СОБЫТИЯ МЕХАНИЗМА ДАТЫ ЗАПРЕТА РЕДАКТИРОВАНИЯ
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ  - ОБРАБОТЧИКИ ПОДПИСОК НА СОБЫТИЯ МЕХАНИЗМА РЕГИСТРАЦИИ ОБЪЕКТОВ ПРАВ ДОСТУПА ДОКУМЕНТОВ
		/////////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОБСЛУЖИВАЮЩИЕ СОБЫТИЯ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ ФОРМ
		/////////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОБСЛУЖИВАЮЩИЕ НАСЛЕДСТВЕННОСТЬ ПРАВ ДОСТУПА ИЕРАРХИЧЕСКИХ СПРАВОЧНИКОВ

		public void ДополнитьНаборПравДоступаУнаследованнымиЗаписями(/*ПраваДоступаПользователей, ОбъектДоступа, Родитель*/)
		{
			//ОбъектДоступаМетаданные = ОбъектДоступа.Метаданные();
			/*// Добавим записи, унаследованные от родителей
*/
			//Родители = Новый Массив;
			//ТекущийРодитель = Родитель;
			while(true/*ЗначениеЗаполнено(ТекущийРодитель)*/)
			{
				//Родители.Добавить(ТекущийРодитель);
				//ТекущийРодитель = ТекущийРодитель.Родитель;
			}
			/*;
	Родители.Добавить(ТекущийРодитель);*/
			//Запрос = Новый Запрос;
			/*Запрос.Текст = 
	"ВЫБРАТЬ
	|	*
	|ИЗ
	|	РегистрСведений.НастройкиПравДоступаПользователей КАК ПраваДоступаПользователей
	|ГДЕ
	|	ПраваДоступаПользователей.ОбъектДоступа В(&Родители)
	|	И ПраваДоступаПользователей.ВидНаследованияПравДоступаИерархическихСправочников = &РаспространитьНаПодчиненных";*/
			if(true/*ПраваДоступаПользователей.Отбор.ОбластьДанных.Использование*/)
			{
				/*Запрос.Текст = Запрос.Текст + "
		|	И ПраваДоступаПользователей.ОбластьДанных = &ОбластьДанных";*/
				//Запрос.УстановитьПараметр("ОбластьДанных", ПраваДоступаПользователей.Отбор.ОбластьДанных.Значение);
			}
			if(true/*ПраваДоступаПользователей.Отбор.Пользователь.Использование*/)
			{
				/*Запрос.Текст = Запрос.Текст + "
		|	И ПраваДоступаПользователей.Пользователь = &Пользователь";*/
				//Запрос.УстановитьПараметр("Пользователь", ПраваДоступаПользователей.Отбор.Пользователь.Значение);
			}
			//Запрос.УстановитьПараметр("Родители", Родители);
			//Запрос.УстановитьПараметр("РаспространитьНаПодчиненных", Перечисления.ВидыНаследованияПравДоступаИерархическихСправочников.РаспространитьНаПодчиненных);
			//Результат = Запрос.Выполнить();
			//Выборка = Результат.Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//Запись = ПраваДоступаПользователей.Добавить();
				//ЗаполнитьЗначенияСвойств(Запись, Выборка,,"ОбъектДоступа, ВидНаследованияПравДоступаИерархическихСправочников");
				//Запись.ОбъектДоступа = ОбъектДоступа;
				//Запись.ВидНаследованияПравДоступаИерархическихСправочников = Перечисления.ВидыНаследованияПравДоступаИерархическихСправочников.НаследуетсяОтРодителя;
			}
			//;;
		}
		// ()
	}
}
